1266E - Spaceship Solitaire - CodeForces Solution


data structures greedy implementation *2100

Please click on ads to support us..

C++ Code:

#include<bits/stdc++.h>
using namespace std;
int n;
long long a[200001];
map<pair<long long,long long>,long long> q;
long long sum=0;
int main(){
	scanf("%d",&n);
	for(int i=1;i<=n;++i){
		scanf("%lld",a+i);
		sum+=a[i];
	}
	int T;scanf("%d",&T);
	while(T--){
		long long s,t,u;scanf("%lld%lld%lld",&s,&t,&u);
		if(q[{s,t}]!=0){
			long long cnt=a[q[{s,t}]];
			a[q[{s,t}]]++;
			q[{s,t}]=0;
			if(cnt>=0) ++sum; 
		}
		if(u!=0){
			q[{s,t}]=u;
			long long cnt=a[u];
			a[u]--;
			if(cnt>0) --sum; 
		}
		printf("%lld\n",sum);
	}
	return 0;
}		 		   	 			  	 	     		


Comments

Submit
0 Comments
More Questions

4A - Watermelon
476A - Dreamoon and Stairs
1409A - Yet Another Two Integers Problem
977A - Wrong Subtraction
263A - Beautiful Matrix
180C - Letter
151A - Soft Drinking
1352A - Sum of Round Numbers
281A - Word Capitalization
1646A - Square Counting
266A - Stones on the Table
61A - Ultra-Fast Mathematician
148A - Insomnia cure
1650A - Deletions of Two Adjacent Letters
1512A - Spy Detected
282A - Bit++
69A - Young Physicist
1651A - Playoff
734A - Anton and Danik
1300B - Assigning to Classes
1647A - Madoka and Math Dad
710A - King Moves
1131A - Sea Battle
118A - String Task
236A - Boy or Girl
271A - Beautiful Year
520B - Two Buttons
231A - Team
479C - Exams
1030A - In Search of an Easy Problem